package com.joyoung.datarespository;


import com.joyoung.cons.BaseResult;

import java.util.List;
import java.util.Map;

import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import retrofit2.http.GET;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.PartMap;
import retrofit2.http.Query;
import retrofit2.http.Streaming;
import retrofit2.http.Url;
import rx.Observable;


/**
 * Created by wubin on 2017\7\17 0017.
 */


public interface IaJoyoungAPI {

    String menu = "/ia/appapi/menu";


    String menu2 = "/ia/appapi/menu2";

    //活动管理接口
    String activity = "/ia/appapi/activity";

    //用户接口
    String user = "/ia/appapi/user";

    //用户设备管理接口
    String userdev = "/ia/appapi/userdev";

    //DIY-烤箱接口
    String diy_35I6 = "/ia/appapi/diy_35I6";

    //热水器接口
    String heater = "/ia/appapi/heater";

    // T3饭煲接口
    String t3menu = "/ia/appapi/t3menu";

    // 净水器接口
    String waterdata = "/ia/appapi/waterdata";


    //食谱评论接口
    @POST(menu2)
    Observable<BaseResult<String>> addComment(@Query("param") String param);

    //  删除已下载食谱接口/删除用户DIY食谱接口
    @POST(menu2)
    Observable<BaseResult<Object>> delMenu(@Query("param") String param);

    //--------------------------------------------------------------------------


    @POST(activity)
    Observable<BaseResult<Object>> setComment(@Query("param") String param);


    //---------------------------------------------------------------------------


    @POST(user)
    Observable<BaseResult<Object>> reg(@Query("param") String param);

    @POST(user)
    Observable<BaseResult<Object>> saveUserPasswd(@Query("param") String param);

    @POST(user)
    Observable<BaseResult<Object>> saveUserConfig(@Query("param") String param);



    @POST(heater)
    Observable<BaseResult<Object>> synHeaterTask(@Query("param") String param);



    //-----------------------------------------------------------------------------

    @POST(waterdata)
    Observable<BaseResult<Object>> getTodayWater(@Query("param") String param);



    //---------------------------------------------------------------------------------

    @POST(menu)
    Observable<BaseResult<Object>> addMenu(@Query("param") String param);

    @POST(menu)
    Observable<BaseResult<Object>> deleteMyRecentMenu(@Query("param") String param);


    @POST("/ia/appapi/ovenmenu")
    Observable<BaseResult<Object>> delMenu_oven(@Query("param") String param);

    @POST("/ia/appapi/upload")
    Observable<BaseResult<Object>> upload(@Query("param") String param);

    @POST
    Observable<BaseResult<Object>> bindGetuiCid(@Url String url);

    @Streaming
    @GET("ia/upload1/2015/12/24/Android.zip")
    Observable<ResponseBody> downloadFile();

}
